home *** CD-ROM | disk | FTP | other *** search
-
- #include <Memory.h>
- #include <OSUtils.h>
-
- #define kAppParmsSize 32
-
-
- long A5Size (void);
- /* prototype for routine in Runtime.o */
-
- void A5Init (Ptr myA5);
- /* prototype for routine in Runtime.o */
-
- pascal void MakeA5World (A5RefType *A5Ref) {
- *A5Ref = NewHandle(A5Size());
- if ((long)*A5Ref) {
- HLock((Handle)*A5Ref);
- A5Init((Ptr)( (long)**A5Ref + A5Size() - kAppParmsSize));
- HUnlock((Handle)*A5Ref);
- }
- }
-
- pascal long SetA5World (A5RefType A5Ref) {
- HLock((Handle)A5Ref);
- return SetA5( (long)*A5Ref + A5Size() - kAppParmsSize);
- }
-
- pascal void RestoreA5World (long oldA5, A5RefType A5Ref) {
- if (SetA5(oldA5)) {} /* side effect only */
- HUnlock((Handle)A5Ref);
- }
-
- pascal void DisposeA5World (A5RefType A5Ref) {
- DisposHandle((Handle)A5Ref);
- }
-
- pascal long OpenA5World (A5RefType *A5Ref) {
- MakeA5World(A5Ref);
- if ((long)*A5Ref) {
- return SetA5World(*A5Ref);
- } else {
- return 0;
- }
- }
-
- pascal void CloseA5World (long oldA5, A5RefType A5Ref) {
- RestoreA5World(oldA5, A5Ref);
- DisposeA5World(A5Ref);
- }
-